package com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.repository;

import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.AssessParam;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.entity.ResistEarthquakesPE;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.entity.ResistEarthquakesPECalculation;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.param.ResistEarthquakesPECalculationParam;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.vo.ResistEarthquakesPCCPEVO;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.resistEarthquakesPE.vo.ResistEarthquakesXYPEVO;
import com.css.fxfzfxqh.modules.largeScreen.entity.Calculation;

import java.util.List;
import java.util.Map;

public interface ResistEarthquakesPERepository {
    void addAssess(ResistEarthquakesPE param);

    ResistEarthquakesPE findById(String id);

    void upDateAssess(ResistEarthquakesPE param);

    String queryLatest(StringBuilder code);

    Map<String, Object> getPage(int curPage, int pageSize, AssessParam param);

    void batchCalculation(List<ResistEarthquakesPECalculation> list);

    void batchCalculation1(List<ResistEarthquakesPECalculation> list);

    void batchCalculation_new(List<ResistEarthquakesPECalculation> list);

    List<ResistEarthquakesPCCPEVO> getListPCC(ResistEarthquakesPECalculationParam param);

    List<ResistEarthquakesXYPEVO> getListXY(ResistEarthquakesPECalculationParam param);

    Map<String, Object> queryCalculation(int curPage, int pageSize,String id, String years,String damageDegree);

    List<ResistEarthquakesPECalculation> queryCalculation1(String assessId);

    void updateCorrectionValue(ResistEarthquakesPECalculation param);
    Boolean getSTIntersects(String geomText, Double longitude, Double latitude);

    void deleteCalculationByQuery(ResistEarthquakesPECalculation resistEarthquakesPECalculation);

    List<Map<String, Object>> getSumByDivisionAndAssessCodes(String ppName, String cityName, String name, String id, String condition);

    List<Map<String, Object>> getSumByTaskId(String taskId);

    Integer getCountByAssessId(String assessId);

    int deleteCalculation(String taskId);

    List<Calculation> getValue(List<String> taskIdList, String code);
}
